/**
 * 
 */
package org.dei.perla.context;

import java.util.ArrayList;


import org.dei.perla.parser.datastructures.DataStructure;

/** 
 * @author Davide
 */
public class DimensionStructure extends DataStructure {

	
	private ArrayList<Value> values;
	private Value padre;
	private CDT cdt;
	
	/**
	 * @return Restituisce la lista dei valori della dimensione
	 */
	public ArrayList<Value> getValues() {
		return values;
	}

	/**
	 * Imposta una lista di valori nella dimensione
	 * @param values Lista di valori
	 */
	public void setValues(ArrayList<Value> values) {
		this.values = values;
	}

	/**
	 * Costruttore di una dimensione generale di livello n
	 * @param nome Nome della dimensione
	 * @param padre Nome del valore padre
	 */
	public DimensionStructure(String nome, String padre){
		super.setName(nome);
		this.cdt =  CDT.getDefault();  
		this.setPadre(padre);
		this.values = new ArrayList<Value>();
	}
	
	/**
	 * Imposta il valore padre partendo dal nome del valore
	 * @param childof Nome del valore
	 */
	public void setPadre(String childof){
		try {
			this.padre = cdt.getValueByName(childof);
		} catch (NotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	
	/**
	 * @return Restituisce il valore padre
	 */
	public Value getPadre(){
		return this.padre;
	}
	
	
	public String toString(){
		return "CREATE DIMENSION " + super.getName() + " \nCHILD OF: " + this.padre.getNome() + " ";
	}
	
	
	
	
}
